iT邦幫忙

2024 iThome 鐵人賽

DAY 12
0
自我挑戰組

R語言初學紀錄系列 第 12

DAY12-R語言 資料處理part.1

  • 分享至 

  • xImage
  •  

前言:學習完資料類型以及資料結構後,接下來就可以將這些應用在資料處理中~之後三篇應該都會講資料處理,但這三篇只會講一些基礎的功能,之後會在其他篇提到其他內容。這篇首先會講資料讀取、檢視資料、資料類別轉換、文字字串處理、字串搜尋。如果以下內容有哪些錯誤的地方,請多多包涵~


正文開始-->

資料讀取

  • 使用read()函式。但不同的副檔名會有不同的函式寫法。
  • read.excel("D:/某資料夾/檔案名稱.副檔名"):讀取Excel資料。檔案路徑要置於雙引號中。讀取Excel資料前,需先安裝一個名為readxl的套件。excel相關的檔案附檔名還包含.xls、.xlsx檔。
  • read.csv("檔案名稱.csv"):讀取csv資料。
  • head()函式則可在執行資料處理前檢視資料的狀況。

檢視資料型別

  1. 使用is()函式檢查資料型別。
  2. 使用class()函式,回傳資料型別。

使用範例:
https://ithelp.ithome.com.tw/upload/images/20240916/201692288Fp6kvDxPn.png

  • is.numeric():判斷是否為數值
  • is.character():判斷是否為字串
  • is.logical():判斷是否為布林變數

資料型別轉換

  1. 使用as()函式轉換型別。

使用範例:
https://ithelp.ithome.com.tw/upload/images/20240916/20169228095ckjpOJG.png

  • as.numeric():將括號裡的變數原本的資料型態轉換為數值
  • as.character():將括號裡的變數原本的資料型態轉換為字串
  • as.logical():將括號裡的變數原本的資料型態轉換為布林變數

文字字串處理
基本處理函式如下

  1. strsplit()
  2. substr()
  3. toupper()tolower()
  4. paste()
  5. gsub()
  6. str_trim()

使用範例:
https://ithelp.ithome.com.tw/upload/images/20240916/201692282QYAN7jcTU.png

  • strsplit()切割字串,後者的雙引號為以什麼為基準切割字串,此範例以空白鍵為基準。
  • substr()抽取字串。start與stop分別為從哪個字母開始抽取即到哪個字母結束。
  • toupper()tolower():將字串中的文字大小寫轉換
  • paste():將多個字串合為一個字串

https://ithelp.ithome.com.tw/upload/images/20240916/20169228swf4Zbhiqw.png

  • gsub():替換字符函式。括號內容為gsub("目標字符", "替換字符", "對象")
  • str_trim():字串前後空白去除。需先安裝一個名為stringr的套件。

字串搜尋

  1. grep()
  2. grepl()

使用範例:
https://ithelp.ithome.com.tw/upload/images/20240916/20169228fDlz6ZVjPp.png

  • grep():查詢字串是否包含某個文字,此函式會回傳符合條件的索引值
  • grepl():此函式會回傳符合條件之布林值

參考:

  1. https://yijutseng.github.io/DataScienceRBook/manipulation.html
  2. https://bookdown.org/jefflinmd38/r4biost/stringr.html
  3. https://hackmd.io/@yueswater/R_Advanced_Data_Processing
  4. https://www.yongxi-stat.com/input_output/

上一篇
DAY11-R語言 資料結構part.3 列表、資料框
下一篇
DAY13-R語言 資料處理part.2
系列文
R語言初學紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言